﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Platform.LanguageProcessing
{

	/// <summary>
	/// Verbo
	/// </summary>
	public class Verb
	{

		/// <summary>
		/// 
		/// </summary>
		/// <param name="word"></param>
		/// <param name="tense"></param>
		/// <param name="person"></param>
		internal Verb( string word, VerbTense tense, PersonVerb person )
		{
			this.Word = word;
			this.Tense = tense;
			this.Person = person;
		}

		/// <summary>
		/// Obtém ou define a forma normal do verbo.
		/// </summary>
		/// <remarks>
		/// Em português é o radical da palavra
		/// </remarks>
		public string NormalForm
		{
			get;
			internal set;
		}

		/// <summary>
		/// Obtém ou define a plavra que foi extraída do texto. O verbo já conjugado
		/// </summary>
		public string Word
		{
			get;
			private set;
		}

		/// <summary>
		/// Indica se é um verbo irregular
		/// </summary>
		public bool IsIrregular
		{ get; set; }

		/// <summary>
		/// Obtém o templo do verbo
		/// </summary>
		public VerbTense Tense
		{ get; set; }

		/// <summary>
		/// Obtém ou define a pessoa do verbo
		/// </summary>
		public PersonVerb Person
		{ get; set; }
	}
}
